package com.reform.service;

import com.reform.pojo.project.NumProject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.reform.res.Result;

import java.sql.SQLException;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author mortale
 * @since 2021-08-06
 */
public interface INumProjectService extends IService<NumProject> {

    /**
     * 初始化项目数信息
     *
     * @param batchId
     * @return
     */
    Result initNumProject(String batchId);


    /**
     * 添加部门信息
     * @param dep_id
     * @param dep_name
     * @return
     * @throws SQLException
     */
    Result addNumProject(Integer dep_id, String dep_name) throws SQLException;

    /**
     * 删除项目数信息
     * @param dep_id
     * @return
     * @throws SQLException
     */
    Result deleteNumProject(Integer dep_id) throws SQLException;

    /**
     * 获取所有项目数信息
     *
     * @param batchId
     * @return
     */
    Result getAllNumProjectByBatchId(String batchId);

    /**
     * 设置项目数信息
     * @param numProId
     * @param maxPronum
     * @return
     */
    Result setNumProject(Integer numProId, String maxPronum);

    /**
     * 批量设置项目数
     * @param numProIds
     * @param maxPronums
     * @return
     */
    Result setNumProjects(String numProIds, String maxPronums);

    /**
     * 获取最近一次批次项目数信息
     * @return
     */
    List<NumProject> getLatelyNumProject();

    /**
     * 编辑已授权部门
     * @param numProId
     * @param isEmpower
     * @return
     */
    Result editDepartment(Integer numProId, Integer isEmpower);

    /**
     * 看看该教师可以管理的批次
     * @param depId 部门id
     * @return
     */
    List<String> getBatchIdByDepId(Integer depId);
}
